/**
 * @author xxqin
 * @date 2018-04-08
 * @description: Dao
 */
var Dao = (function (_self) {

  // post参数格式化
  _self.transParam = function (ajaxParam) {
    var sysP = {};
    var navP = ajaxParam;
    navP.userName = userInfor ? userInfor.accountName : "";
    navP.deviceId = appKeyObj.deviceId;

    sysP.requestTime = Date.parse(new Date());
    sysP.appKey = appKeyObj.appKey;
    sysP.sign = _self.signParam(navP, sysP.requestTime);
    return JSON.stringify({
      sysParams: sysP,
      params: navP
    });
  }

  // get参数格式化
  _self.transGetParam = function (ajaxParam) {
    var sysP = {};
    var navP = ajaxParam;
    navP.userName = userInfor ? userInfor.accountName : "";
    navP.deviceId = appKeyObj.deviceId;
    sysP.requestTime = Date.parse(new Date());
    sysP.appKey = appKeyObj.appKey;
    sysP.sign = _self.signParam(navP, sysP.requestTime);
    return {
      sysParams: JSON.stringify(sysP),
      params: JSON.stringify(navP)
    };
  }

  // 参数加密 : 根据 appKeyObj.appKey 和 appKeyObj.secretKey生成加密的参数
  _self.signParam = function (_param, _requestTime) {
    var map = {};
    map["requestTime"] = _requestTime;
    map["secretKey"] = appKeyObj.secretKey;
    var keys = [];
    keys.push("requestTime");
    keys.push("secretKey");

    for (var key in _param) {
      if (_param[key] != undefined) {
        keys.push(key);
        map[key] = _param[key];
      }
    }
    keys.sort();
    var array = new Array();
    for (var i = 0; i < keys.length; i++) {
      array.push(keys[i]);
      array.push("=");
      array.push(map[keys[i]]);
    }
    var sb = array.join("") + "";
    var sign = jQuery.md5(sb).toUpperCase();
    return sign;
  }

  _self.requestData = function (url, param, succb, errorcb, requestType, isAsync, isResponseTip) {
    let key = "offlineData-" + url + JSON.stringify(param);
    let IS_OFFLINE_MODULE = native.getDataByKey("IS_OFFLINE_MODULE");
    if (!START_OFFLINE_COMMITDATA && (IS_OFFLINE_MODULE == "1")) {
      var data = null;
      if (native.getDataByKey(key)) {
        data = JSON.parse(native.getDataByKey(key));
      }
      if (!data) {
        console.log("data数据未获取到，" + key);
        data = JSON.parse("{\"status\":2000123,\"info\":\"弱网模式下暂停操作\",\"total\":0,\"data\":null}");
      }
      if (succb) {
        //直接返回所有结构体
        if (isResponseTip) {
          succb(data)
        } else {
          _self.transSucData(succb, data);
        }
      }
    } else {
      app.request({
        url: contextPath + url,
        dataType: "json",
        contentType: "application/json",
        method: requestType == null ? 'get' : requestType, // 默认get
        async: isAsync == null ? true : isAsync,
        data: requestType == 'post' ? _self.transParam(param) : _self.transGetParam(param),
        timeout: 300000,
        success: function (data) {
          // 非提交作业且处于离线作业界面的情况下，保存缓存
          if (!START_OFFLINE_COMMITDATA) {
            if (/(Android)/i.test(navigator.userAgent) || url.indexOf('examine') > -1) {
              native.saveDataByKey(key, JSON.stringify(data))
            }
          }
          if (succb) {
            //直接返回所有结构体
            if (isResponseTip) {
              succb(data)
            } else {
              _self.transSucData(succb, data);
            }
          }
        },
        error: function (xhr, status) {
          var self = window;
          if (status === 'timeout') {
            self.app.methods.showToastCenter('请求超时');
          }
          if (errorcb)
            errorcb(xhr);
        }
      });
    }
  }

  _self.requestPollingData = function (url, param, succb, errorcb, requestType, isAsync) {
    let key = "offlineData-" + url + JSON.stringify(param);
    let IS_OFFLINE_MODULE = native.getDataByKey("IS_OFFLINE_MODULE");
    if (!START_OFFLINE_COMMITDATA && (IS_OFFLINE_MODULE == "1")) {
      var data = null;
      if (native.getDataByKey(key)) {
        data = JSON.parse(native.getDataByKey(key));
      }
      if (!data) {
        console.log("data数据未获取到，" + key);
        data = JSON.parse("{\"status\":2000123,\"info\":\"弱网模式下暂停操作\",\"total\":0,\"data\":null}");
      }
      if (succb) {
        succb(data)
      }
    } else {
      app.request({
        url: contextPath + url,
        dataType: "json",
        contentType: "application/json",
        method: requestType == null ? 'get' : requestType, // 默认get
        async: isAsync == null ? true : isAsync,
        data: requestType == 'post' ? _self.transParam(param) : _self.transGetParam(param),
        success: function (data) {
          // 非提交作业的情况下，保存缓存
          if (!START_OFFLINE_COMMITDATA) {
            if (/(Android)/i.test(navigator.userAgent)) {
              native.saveDataByKey(key, JSON.stringify(data))
            }
          }
          if (succb)
            succb(data);
        },
        error: function (xhr) {
          if (errorcb)
            errorcb(xhr);
        }
      });
    }
  }

  _self.dialog_status = false;
  _self.transSucData = function (cb, data) {
    if (data.status == 200) {
      cb(data.data, data.total, data.status);
    } else if (data.status == 200010) {
      cb(data.data, data.info, data.status);
    } else {
      common.loading(0);
      if (data.status == 160007 && !_self.dialog_status) {
        _self.dialog_status = true;
        app.dialog.create({
          title: '请注意',
          text: data.info,
          buttons: [{
            text: '确认',
            onClick: function () {
              common.loading(1);
              setTimeout(function () {
                _self.dialog_status = false;
                let IS_OFFLINE_MODULE = native.getDataByKey("IS_OFFLINE_MODULE");
                if (IS_OFFLINE_MODULE == 1) {
                  native.reloadH5FromFile();
                } else {
                  native.logOut();
                }
              }, 2000);
            },
          }],
          verticalButtons: false,
        }).open();
      } else {
        if (!_self.dialog_status) {
          app.methods.showToastCenter(data.info);
          /* if(data.status == 110001 || data.status == 110003){
            app.methods.showToastCenter(data.info);
          }else{
            app.methods.showToastCenter('数据查询异常');//网络环境不稳定 请稍后重试
          } */
        }
      }
    }
  }



  // 七牛token
  _self.qnToken = function (data, callback, isAsync) {
    if (uploadOnNginx) {
      callback('xvVJEmr_GEDWJqyXicuk5gJlF8mHq5EZsA75Dl-e:JncCcjDFdbGWhVRKg4qqSEiJnBs=:eyJzY29wZSI6ImlsaW5rbmgiLCJkZWFkbGluZSI6MTY1NzA4MDY4Nn0=')
    } else {
      _self.requestData('app/common/getQnToken', data, callback,
        function (e) {
          common.loading(0);
          app.methods.showToastCenter("获取token失败");
        }, "get", isAsync);
    }
  }
  // 1登录
  _self.subLogin = function (data, callback, isAsync) {
    _self.requestData('app/user/login', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("登录失败");
    }, "post", isAsync);
  }
  // 修改头像
  _self.mdHeadUrl = function (data, callback, isAsync) {
    _self.requestData('app/user/mdHeadUrl', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("修改头像失败");
    }, "post", isAsync);
  }
  // 2获取验证码
  _self.getSmsCode = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/user/getVcCode', data, callback, errorcb, "get",
      isAsync);
  }
  // 忘记密码
  _self.forgetPwd = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/user/forgetPwd', data, callback, errorcb, "post",
      isAsync);
  }
  // 3修改密码
  _self.modifyPw = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/user/mdPwd', data, callback, errorcb, "post",
      isAsync);
  }
  // 4绑定微信
  _self.bindWx = function (data, callback, errorcb, isAsync) {
    _self.requestData('jsons/login.json', data, callback, errorcb, "post",
      isAsync);
  }
  // 5修改手机号
  _self.mdMobile = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/user/mdMobile', data, callback, errorcb, "post",
      isAsync);
  }
  // 6获取我的关注设备列表
  _self.equipment = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/user/getUserConcem', data, callback, errorcb,
      "get", isAsync);
  }
  // 7获取我的设备详细信息
  _self.equipmentMsg = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/fcf/getFacsBaseInfo', data, callback,
      errorcb, "get", isAsync);
  }
  // 8获取指定探测器历史报警记录
  _self.getSpecialFcfHistoryRecords = function (data, callback, errorcb, isAsync) {
    // app/fcf/getSpecialFcfHistoryRecords
    _self.requestData('app/fcf/getFcfHistoryDatas', data, callback, errorcb, "get", isAsync);
  }
  // 11获取联网单位列表
  _self.unitList = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/org/getUcttuListByParams', data, callback,
      errorcb, "get", isAsync);
  }

  // 13获取联网单位分层图（三维地图）列表
  _self.getLayeredGraphList = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/layeredgraph/orgFbsLayedList', data, callback,
      errorcb, "get", isAsync);
  }
  // 14获取区域数据
  _self.getAreaDataFormAjax = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/common/area', data, callback, errorcb, "get",
      isAsync);
  }
  // 17获取分层图打点
  _self.getLayerDataFromAjax = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/layeredgraph/markerDetails', data, callback, errorcb, "get", isAsync);
  }
  // 18获取VR列表
  _self.getVrList = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/org/getVrList', data, callback, errorcb, "get", isAsync);
  }
  // 19获取探测器数据统计
  _self.getOneOfFcfStatistical = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/fcf/getOneOfFcfStatistical', data, callback, errorcb, "get", isAsync);
  }
  // 19获取消防设施历史警情数据统计
  _self.getFacsRecordCount = function (data, callback, isAsync) {
    _self.requestData('app/fcf/getFacsRecordCount', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastBottom("获取消防设施历史警情数据失败");
    }, "get", isAsync);
  }
  // 20获取视频列表
  _self.getVideoStatus = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/video/getVideoStatus', data, callback, errorcb, "get", isAsync);
  }
  // 21视频置顶
  _self.saveOrUpdateVideoTop = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/video/saveOrUpdateVideoTop', data, callback, errorcb, "post", isAsync);
  }
  // 22视频取消置顶
  _self.delTopVideo = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/video/delTopVideo', data, callback, errorcb, "post", isAsync);
  }
  // 23获取历史警情列表 获取设备历史状态列表 app/fcf/getFcfHistroyDataList
  _self.getFcfHistroyDataList = function (data, callback, errorcb, isAsync) {
    // app/alertStat/getRecords
    _self.requestData('app/fcf/getFcfHistoryDatas', data, callback, errorcb, "get", isAsync);
  }
  // 24获取字典值
  _self.getDict = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/common/getDict', data, callback, errorcb, "get", isAsync);
  }
  // 25获取巡检任务列表
  _self.getTaskList = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/inspection/getInspectTaskList', data, callback, errorcb, "get", isAsync);
  }
  // 获取巡检任务列表总数
  _self.getInspectTaskCount = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/examine/getTaskCount', data, callback, errorcb, "get", isAsync);
  }
  // 26新获取巡检任务列表
  _self.getInspectTaskInfoByStatus = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/examine/getTaskList', data, callback, errorcb, "get", isAsync);
  }
  // 获取巡检任务详情
  _self.getInspectTaskDetail = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/examine/getExamineTaskDeatil', data, callback, errorcb, "get", isAsync);
  }
  // 任务点位巡检内容
  _self.getExaminePointContentList = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/examine/getExaminePointContentList', data, callback, errorcb, "get", isAsync);
  }
  // 任务点位巡检结果
  _self.getExamineTaskPointResult = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/examine/getTaskPointResult', data, callback, errorcb, "get", isAsync);
  }
  // 27获取巡检任务归档记录列表
  _self.getInspectTaskHistoryList = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/inspectionNew/getInspectTaskHistoryList', data, callback, errorcb, "get", isAsync);
  }
  // 28新获取巡检任务归档记录列表
  _self.getInspectTaskHistory = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/inspectionNew/getInspectTaskHistory', data, callback, errorcb, "get", isAsync);
  }
  // 29新获取巡检点位结果集合
  _self.inspectPointResult = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/inspectionNew/inspectPointResult', data, callback, errorcb, "get", isAsync);
  }
  // 查看今日点位巡检状态
  _self.getTodayPonitStatus = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/inspection/getTodayPonitStatus', data, callback, errorcb, "post", isAsync);
  }
  // 查看今日点位巡检状态
  _self.getTodayPonitStatusNew = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/examine/getPointNowStatus', data, callback, errorcb, "get", isAsync);
  }
  // 根据任务id查询点位巡检状态
  _self.getAppLinePointNowStatus = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/examine/getAppLinePointNowStatus', data, callback, errorcb, "get", isAsync);
  }
  // 根据任务id查询点位巡检结果
  _self.getAppLineTaskPointResult = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/examine/getAppLineTaskPointResult', data, callback, errorcb, "get", isAsync);
  }
  // 根据任务id查询点位巡检内容
  _self.getAppLineExaminePointContentList = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/examine/getAppLineExaminePointContentList', data, callback, errorcb, "get", isAsync);
  }

  //
  _self.getTaskPointInfoByVisualCode = function (data, callback, isAsync) {
    _self.requestData('app/inspection/getTaskPointInfoByVisualCode', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取巡检点位详细信息失败");
    }, "get", isAsync);
  }
  // 首页扫一扫过去巡检点位详情
  _self.getInspectPointByVisualCode = function (data, callback, isAsync) {
    _self.requestData('app/inspectionNew/getInspectPointByVisualCode', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取巡检点位详细信息失败");
    }, "get", isAsync);
  }
  // 获取单联网资产信息
  _self.getAssetsInfoForApp = function (data, callback, isAsync) {
    _self.requestData('app/assets/getAsstsCountBySystem', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取资产信息失败");
    }, "get", isAsync);
  }
  // 获取多联网资产信息
  _self.getOrgAssetsInfoForApp = function (data, callback, isAsync) {
    _self.requestData('app/assets/getAsstsCountByOrg', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取资产信息失败");
    }, "get", isAsync);
  }
  // 获取资产列表
  _self.getAListForApp = function (data, callback, isAsync) {
    _self.requestData('app/assets/getAListForApp', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取资产信息失败");
    }, "get", isAsync);
  }
  // 获取资产类别
  _self.getAssetsCategoryIdForApp = function (data, callback, isAsync) {
    _self.requestData('app/assets/getAssetsCategoryIdForApp', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取资产类别失败");
    }, "get", isAsync);
  }
  // 首页扫一扫过去巡检点位巡检记录
  _self.getInspectTaskByVisualCode = function (data, callback, isAsync) {
    _self.requestData('app/inspectionNew/getInspectTaskByVisualCode', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取巡检点位巡检记录信息失败");
    }, "get", isAsync);
  }
  // 获取点位巡检内容
  _self.getTaskPointInfoByVisualCodeNew = function (data, callback, isAsync) {
    _self.requestData('app/inspectionNew/getInspectTaskPointInfoById', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取巡检点位详细信息失败");
    }, "get", isAsync);
  }
  // 获取点位巡检内容
  _self.getOptionListByPointId = function (data, callback, isAsync) {
    _self.requestData('app/inspectionNew/getOptionListByContentId', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取巡检点位详细信息失败");
    }, "get", isAsync);
  }
  _self.getTaskPointResultDetail = function (data, callback, isAsync) {
    _self.requestData('app/inspection/getTaskPointResultDetail', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取巡检任务详细信息失败");
    }, "get", isAsync);
  }

  _self.submitResult = function (data, callback, isAsync) {
    _self.requestData('app/inspection/submitResult', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("提交巡检点位结果失败");
    }, "post", isAsync);
  }
  _self.submitResultNew = function (data, callback, isAsync) {
    let IS_OFFLINE_MODULE = native.getDataByKey("IS_OFFLINE_MODULE");
    if (IS_OFFLINE_MODULE == "1") {
      native.updateInspectionData(data);
      callback(null)
    } else {
      _self.requestData('app/inspectionNew/submitInspectResult', data, callback, function (e) {
        common.loading(0);
        app.methods.showToastCenter("提交巡检点位结果失败");
      }, "post", isAsync);
    }
  }
  _self.handleFireRecord = function (data, callback, isAsync) {
    _self.requestData('app/alertStat/handleFireRecord', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("领取或新增处理警情失败");
    }, "post", isAsync);
  }
  // 26获取任务数量
  _self.getTaskCount = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/inspection/getTaskCount', data, callback, errorcb, "post", isAsync);
  }
  // 27获取隐患整改列表 隐患数量统计 pageindex=0 pagesize=0 使用total
  _self.getHidDangerList = function (data, callback, isAsync) {
    _self.requestData('app/hidDanger/getHidDangerList', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取隐患整改信息列表失败");
    }, "get", isAsync);
  }

  // 28巡检任务的状态
  _self.getTaskSatusInfoByTaskId = function (data, callback, isAsync) {
    _self.requestData('app/inspectionNew/getTaskSatusInfoByTaskId', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取巡检任务的状态失败");
    }, "get", isAsync);
  }

  // 获取隐患整改信息
  _self.getHidDanger = function (data, callback, isAsync) {
    _self.requestData('app/hidDanger/getHidDanger', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取隐患整改详情失败");
    }, "get", isAsync);
  }


  // 29保存隐患整改明细信息
  _self.troubleback = function (data, callback, isAsync) {
    _self.requestData('app/hidDanger/saveHidDangerDetail', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("保存失败");
    }, "get", isAsync);
  }
  // 获取隐患统计信息
  _self.getHiddenManagerStatistics = function (data, callback, isAsync) {
    _self.requestData('app/hidDanger/getHiddenManagerStatistics', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取隐患统计信息失败");
    }, "get", isAsync);
  }

  // 30保存隐患整改明细信息
  _self.saveHidDanger = function (data, callback, isAsync) {
    _self.requestData('app/hidDanger/saveHidDanger', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("保存隐患整改明细信息失败");
    }, "get", isAsync);
  }
  // 获取联网单位用户列表
  _self.getUnitUsers = function (data, callback, isAsync) {
    _self.requestData('app/user/getUsers', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取联网单位用户列表失败");
    }, "get", isAsync);
  }

  // 31消息推送开关状态列表接口
  _self.getMsgPushStatusList = function (data, callback, errorcb, isAsync) {
    _self.requestData('app-v3/message/getMsgPushStatusList', data, callback, errorcb, "get", isAsync);
  }
  // 32领取巡检任务
  _self.takeTask = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/inspection/takeTask', data, callback, errorcb, "post", isAsync);
  }
  // 32-1领取巡检任务
  // _self.takeTaskNew = function(data, callback,errorcb, isAsync) {
  // _self.requestData('app/inspectionNew/takeInspectTask', data, callback,
  // errorcb, "post", isAsync);
  // }
  // 33驳回巡检任务
  _self.handBackTask = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/inspection/handBackTask', data, callback, errorcb, "post", isAsync);
  }
  // 34提交巡检任务
  _self.submit = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/inspection/submit', data, callback, errorcb, "post", isAsync);
  }
  // 34-1提交巡检任务
  _self.submitPolling = function (data, callback, isAsync) {
    _self.requestPollingData('app/inspection/submit', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("提交巡检任务失败");
    }, "post", isAsync);
  }
  // 32-1领取巡检任务
  _self.takeTaskNew = function (data, callback, isAsync) {
    _self.requestPollingData('app/inspectionNew/takeInspectTask', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("领取巡检任务失败");
    }, "post", isAsync);
  }
  // 35获取设备历史警情详情
  _self.analogDetails = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/fcf/getFcfHistroyDetailDatas', data, callback, errorcb, "get", isAsync);
  }
  // 36获取巡检点位区域
  _self.getPointAreaList = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/inspection/getPointAreaList', data, callback, errorcb, "get", isAsync);
  }
  // 37处理消息
  _self.operateMessage = function (data, callback, errorcb, isAsync) {
    _self.requestData('app-v3/message/operateMessage', data, callback, errorcb, "post", isAsync);
  }
  // 37处理消息
  _self.endEmergencyPlanRecords = function (data, callback, errorcb, isAsync) {
    _self.requestData('app-v3/emergencyPlan/endEmergencyPlanRecords', data, callback, errorcb, "post", isAsync);
  }
  // 38获取应急救援
  _self.getEmergency = function (data, callback, errorcb, isAsync) {
    _self.requestData('app-v3/emergencyPlan/selectEmergencyPlanRecords', data, callback, errorcb, "get", isAsync);
  }
  // 39获取预案信息列表
  _self.selectEmergencyPlanInfo = function (data, callback, errorcb, isAsync) {
    _self.requestData('app-v3/emergencyPlan/selectEmergencyPlanInfo', data, callback, errorcb, "get", isAsync);
  }
  // 40获取预案处置启动记录明细信息详情 小组人员
  _self.selectEmergencyPlanRecordsDetail = function (data, callback, errorcb, isAsync) {
    _self.requestData('app-v3/emergencyPlan/selectEmergencyPlanRecordsDetail', data, callback, errorcb, "get", isAsync);
  }
  // 41获取某个消防预案详细信息
  _self.selectEmergencyPlanDetail = function (data, callback, errorcb, isAsync) {
    _self.requestData('app-v3/emergencyPlan/selectEmergencyPlanDetail', data, callback, errorcb, "get", isAsync);
  }
  // 42获取视频认证信息
  _self.getAuthList = function (data, callback, errorcb, isAsync) {
    data.orgCode = platformCode || app.data.defaultPlatCode;
    _self.requestData('app/video/getAuthList', data, callback, errorcb, "get", isAsync);
  }
  // 43值班表
  _self.getWatchDetails = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/inspect/getWatchDetails', data, callback, errorcb, "get", isAsync);
  }
  // 44未读消息取得数量
  _self.getUnReadMsgCount = function (data, callback, errorcb, isAsync) {
    _self.requestData('app-v3/message/getUnReadMsgCount', data, callback, errorcb, "get", isAsync);
  }
  // 45巡检责任人筛选
  _self.getUser = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/inspection/getUser', data, callback, errorcb, "post", isAsync);
  }
  // 46获取在岗状态信息
  _self.getOnlineInfo = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/user/getOnlineInfo', data, callback, errorcb, "GET", isAsync);
  }
  // 47获取在岗状态信息
  _self.changeOnline = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/user/changeOnline', data, callback, errorcb, "post", isAsync);
  }

  //操作梯控（禁用、恢复
  _self.updateElevatorCon = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/common/updateElevatorCon', data, callback,
      errorcb, "post", isAsync);
  }


  /* 获取室内地图内指定标注数据 */
  _self.getFMapMarker = function (data, callback, isAsync) {
    _self.requestData(data, callback, "app/indoorMap/getMarkers", "get", isAsync);
  }
  /* 获取指定单位室内地图数据 */
  _self.getIndoorInfoByOrg = function (data, callback, isAsync) {
    _self.requestData("app/indoorMap/getIndoorInfoByOrg", data, callback, function (e) {
      common.loading(0);
      // app.methods.showToastCenter("获取探测器实时状态失败");
    }, "get", isAsync);
  }
  /* 获取室内地图初始化信息 */
  _self.getIndoorInfo = function (data, callback, isAsync) {
    _self.requestData("app/indoorMap/getIndoorInfo", data, callback, function (e) {
      common.loading(0);
    }, "get", isAsync);
  }

  // 获取探测器实时状态
  _self.dectorState = function (data, callback, isAsync) {
    _self.requestData('app/fcf/getFcfRealTimeStatusCount', data, callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("获取探测器实时状态失败");
      }, "get", isAsync);
  }
  // 设备列表
  _self.getmoreDectorStateList = function (data, callback, isAsync) {
    _self.requestData('app/fcf/getFacsStatusListPlus', data, callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("获取设备列表失败");
      }, "get", isAsync);
  }
  // 获取远程设备物联列表
  _self.getRemoteFcfStatusList = function (data, callback, isAsync) {
    _self.requestData('app/fcf/getRemoteFcfStatusList', data, callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("获取设备列表失败");
      }, "get", isAsync);
  }
  // 远程控制设备类型
  _self.getSendCommandFcsCategoryList = function (data, callback, isAsync) {
    _self.requestData('app/fcf/getSendCommandFcsCategoryList', data, callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("获取设备类型失败");
      }, "get", isAsync);
  }
  // 远程控制
  _self.alarmCallById = function (data, callback, isAsync) {
    _self.requestData('app/fcf/alarmCallById', data, callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("远程控制失败");
      }, "get", isAsync);
  }
  // 9取消关注
  _self.focusOnOff = function (data, callback, isAsync) {
    _self.requestData('app/user/delUserConcem', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("取消关注失败");
    }, "post", isAsync);
  }
  // 10关注
  _self.addUserConcem = function (data, callback, isAsync) {
    _self.requestData('app/user/addUserConcem', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("关注失败");
    }, "post", isAsync);
  }

  // 获取联网单位消防系统结构
  _self.getSysType = function (data, callback, isAsync) {
    _self.requestData('app/attention/getSysType', data, callback, function (e) {
      common.loading(0);
    }, "get", isAsync);
  }
  // 联网单位列表带探测器状态数量
  _self.UnitRealtimeState = function (data, callback, isAsync) {
    _self.requestData('app/org/orgFcfStatusCount', data, callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("获取联网单位实时状态失败");
      }, "get", isAsync);
  }
  // 联网单位实时状态（头部的三个卡片报警单位、联网单位、故障单位个数）
  _self.orgFcfRealTimeStatusCount = function (data, callback, isAsync) {
    _self.requestData('app/org/orgFcfRealTimeStatusCount', data, callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("获取联网单位实时状态失败");
      }, "get", isAsync);
  }

  // 获取更多联网单位列表
  _self.moreUnitList = function (data, callback, isAsync) {
    _self.requestData('app/org/getUcttuListByParams', data, callback,
      function (e) {
        common.loading(0);
        // app.methods.showToastCenter("获取更多联网单位列表失败");
      }, "get", isAsync);
  }
  // 获取联网单位列表信息
  _self.getOrgAllList = function (data, callback, isAsync) {
    _self.requestData('app/home/getOrgAllList', data, callback,
      function (e) {
        common.loading(0);
        // app.methods.showToastCenter("获取更多联网单位列表失败");
      }, "get", isAsync);
  }
  // 获取联网单位列表信息
  _self.getOrgSafetyScore = function (data, callback, isAsync) {
    _self.requestData('app/safeEvaluate/getOrgSafetyScore', data, callback,
      function (e) {
        common.loading(0);
        // app.methods.showToastCenter("获取更多联网单位列表失败");
      }, "get", isAsync);
  }
  // 获取消防设备类别信息集合
  _self.getFcsCategoryList = function (data, callback, isAsync) {
    _self.requestData('app/alertStat/getFcsCategoryList', data, callback,
      function (e) {
        common.loading(0);
        // app.methods.showToastCenter("获取更多联网单位列表失败");
      }, "get", isAsync);
  }

  // 获取指定重点关注检测的消防设备类别信息集合
  _self.getMonitorCategoryList = function (data, callback, isAsync) {
    _self.requestData('app/alertStat/getMonitorCategoryList', data, callback,
      function (e) {
        common.loading(0);
        // app.methods.showToastCenter("获取更多联网单位列表失败");
      }, "get", isAsync);
  }
  // 获取卡片数据
  _self.unitStateList = function (data, callback, isAsync) {
    _self.requestData('app/user/getUserCardList', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取卡片数据失败");
    }, "get", isAsync);
  }
  // 获取平台数据
  _self.getPlatList = function (data, callback, isAsync) {
    _self.requestData('app/home/getPlatList', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取平台数据失败");
    }, "get", isAsync);
  }
  // 获取警情处理记录
  _self.getRecordsHandleList = function (data, callback, isAsync) {
    _self.requestData('app/alertStat/getRecordsHandleList', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取警情处理记录失败");
    }, "get", isAsync);
  }
  // 获取警情信息
  _self.getAlarmInfo = function (data, callback, isAsync) {
    _self.requestData('app/home/getAlarmInfo', data, callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("获取警情信息失败");
      }, "get", isAsync);
  }
  // 获取保养信息总览
  _self.getMaintenanceStatistics = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/getMaintenanceStatistics', data, callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("获取信息总览失败");
      }, "get", isAsync);
  }
  // 获取消息
  _self.getMsgList = function (data, callback, isAsync) {
    _self.requestData('app-v3/message/getMsgList', data, callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("获取消息失败");
      }, "get", isAsync);
  }
  // 多-单位消防安全隐患排名 联网单位总报警次数排名
  _self.troubleRank = function (data, callback, isAsync) {
    _self.requestData('app/fcf/getFcfAlertCount', data, callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("获取单位消防警情排名失败");
      }, "get", isAsync);
  }
  // 获取通信服务器实时状态
  _self.getUitbStatusCount = function (data, callback, isAsync) {
    _self.requestData('app/attention/getUitbStatusCount', data, callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("获取通信服务器实时状态失败");
      }, "get", isAsync);
  }
  // 获取巡检任务数量
  _self.getInspectTaskCount = function (data, callback, isAsync) {
    _self.requestData('app/inspection/getInspectTaskCount', data, callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("获取巡检任务数量失败");
      }, "get", isAsync);
  }
  // 获取巡检任务数量
  _self.getNewInspectTaskCount = function (data, callback, isAsync) {
    _self.requestData('app/inspectionNew/getRealInspectCount', data, callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("获取巡检任务数量失败");
      }, "get", isAsync);
  }
  // 获取消防系统结构树
  _self.getFireSysData = function (data, callback, isAsync) {
    _self.requestData('app/home/getSysAndFcfStatus', data, callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("获取消防系统数据失败");
      }, "get", isAsync);
  }
  // 获取预案列表
  _self.getPlanList = function (data, callback, isAsync) {
    _self.requestData('app-v3/emergencyPlan/selectEmergencyPlanInfo', data, callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("获取预案列表失败");
      }, "get", isAsync);
  }
  // 获取报警列表
  _self.getKeyAlarmList = function (data, callback, isAsync) {
    _self.requestData('app/home/getManualAlertList', data, callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("获取手动报警记录失败");
      }, "get", isAsync);
  }
  // 通信服务器详情
  _self.getcommunicatServerDetail = function (data, callback, isAsync) {
    _self.requestData('app/attention/getUitbDto', data, callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("获取通信服务器详情失败");
      }, "get", isAsync);
  }
  // 获取警情列表
  _self.getPoliceList = function (data, callback, isAsync) {
    _self.requestData('app/alertStat/getAlertChangeTrend', data, callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("获取警情变化趋势失败");
      }, "get", isAsync);
  }
  // 警情数量统计查询
  _self.getAlarmGroupCount = function (data, callback, isAsync) {
    _self.requestData('app/home/getAlarmGroupCount', data, callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("警情数量统计查询失败");
      }, "get", isAsync);
  }
  // 获取单位安全指数统计
  _self.getSafeStatusForOrgCount = function (data, callback, isAsync) {
    _self.requestData('app/safeEvaluate/getSafeStatusForOrgCount', data, callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("获取单位安全指数统计失败");
      }, "get", isAsync);
  }
  // 保存组件
  _self.saveCard = function (data, callback, isAsync) {
    _self.requestData('app/user/updateUserCard', data, callback,
      function (e) {
        common.loading(0);
      }, "post", isAsync);
  }

  // 查岗应答
  _self.responseTip = function (data, callback, isAsync) {
    _self.requestData('app/inspect/response', data, callback, function (e) {
      common.loading(0);
    }, "post", isAsync, true);
  }


  /**
   * 获取html片段
   *
   * @return {[type]} [description]
   */
  _self.getHtmlFragment = function (url, callback) {
    $.ajax({
      url: contextPath + url,
      type: "get",
      async: false,
      success: callback
    });
  }

  // 获取用户关注信息
  _self.getEquipment = function (data, callback, isAsync) {
    _self.requestData('app/user/getUserConcem', data, callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("获取关注信息失败");
      }, "get", isAsync);
  }

  // 获取视频查岗值班室视频
  _self.getVideo = function (data, callback, isAsync) {
    _self.requestData('app/inspect/getFireRoomVideos', data, callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("获取视频失败");
      }, "get", isAsync);
  }

  // 获取警情数目信息（柱状图）
  _self.getPolice_zzt = function (data, callback, isAsync) {
    _self.requestData('app-v3/fireReport/getStatuRecordsCount', data,
      callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("获取警情数目失败");
      }, "get", isAsync);
  }
  // 获取建筑物结构树
  _self.getBuildDataFormAjax = function (data, callback, isAsync) {
    _self.requestData('app/common/getFbsTree', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取建筑物树失败");
    }, "get", isAsync);
  }
  // 获取建筑物结构统计包含建筑物结构中视频、分层图、设备统计
  _self.getBuildCount = function (data, callback, isAsync) {
    _self.requestData('app/home/getBuildCount', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取建筑物结构统计失败");
    }, "get", isAsync);
  }
  // 获取今日报警数
  _self.todayAlarm = function (data, callback, isAsync) {
    _self.requestData('app/fcf/getFcfHistroyDataList', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取今日报警失败");
    }, "get", isAsync);
  }
  // 获取今日故障数
  _self.todayDefault = function (data, callback, isAsync) {
    _self.requestData('app/fcf/getFcfHistroyDataList', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取今日故障失败");
    }, "get", isAsync);
  }

  // 字典表
  _self.zhagangTime = function (data, callback, isAsync) {
    _self.requestData('app/common/getDict', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取字典表失败");
    }, "get", isAsync);
  }
  // 获取查岗单位列表
  _self.getCurrentPersonnelOnDuty = function (data, callback, isAsync) {
    _self.requestData('app/inspect/getCurrentPersonnelOnDuty', data,
      callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("获取查岗单位列表失败");
      }, "get", isAsync);
  }
  // 获取当前值班人员
  _self.getCurrentPersonnelOnDutytext = function (data, callback, isAsync) {
    _self.requestData('app/user/getCurrentPersonnelOnDuty', data,
      callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("获取当前值班人员列表失败");
      }, "get", isAsync);
  }
  // 新增查岗任务
  _self.addTask = function (data, callback, isAsync) {
    _self.requestData('app/inspect/addTask', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("任务提交失败");
    }, "post", isAsync);
  }
  // 获取查岗记录列表
  _self.getRecordList = function (data, callback, isAsync) {
    _self.requestData('app/inspect/getRecord', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取查岗记录列表失败");
    }, "get", isAsync);
  }
  // 获取查岗结果
  _self.getResult = function (data, callback, isAsync) {
    _self.requestData('app/inspect/getResult', data,
      callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("获取查岗结果失败");
      }, "get", isAsync);
  }
  // 获取单位报表设置模块的列表
  _self.getunitSetinInfo = function (data, callback, errorcb, isAsync) {
    _self.requestData('app-v3/fireReport/getFireReportStatusList', data, callback, errorcb, "get", isAsync);
  }
  // 本期计划录入
  _self.updateMaintenanceResultOfPlan = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/updateMaintenanceResultOfPlan', data,
      callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("操作失败");
      }, "post", isAsync);
  }
  // 保养核实post
  _self.checkMaintenanceResultById = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/checkMaintenanceResultById', data,
      callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("操作失败");
      }, "post", isAsync);
  }
  // 获取日常保养本期计划
  _self.dayAplan = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/getMaintenanceSysPlan', data,
      callback,
      function (e) {
        common.loading(0);
        // app.methods.showToastCenter("获取本期计划列表失败");
      }, "get", isAsync);
  }
  // 获取日常保养待处理 获取应急救援记录详情 获取日常保养已完成列表
  _self.dayAPending = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/getMaintenanceFireSystemPlanDetailResult', data,
      callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("获取列表失败");
      }, "get", isAsync);
  }
  // 通过计划id获取保养的系统列表
  _self.getMaintenanceSystemByPlanId = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/getMaintenanceSystemByPlanId', data,
      callback,
      function (e) {
        common.loading(0);
        // app.methods.showToastCenter("获取保养的系统列表失败");
      }, "get", isAsync);
  }
  // 通过计划id获取保养人列表
  _self.getMaintenancePersonByPlanId = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/getMaintenancePersonByPlanId', data,
      callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("获取系统列表失败");
      }, "get", isAsync);
  }

  // 获取消息推送
  _self.updateMsgPushStatus = function (data, callback, isAsync) {
    _self.requestData('app-v3/message/updateMsgPushStatus', data, callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("消息推送失败");
      }, "post", isAsync);
  }
  // 消息推送开关状态批量更新接口
  _self.updateMsgPushStatusBatch = function (data, callback, isAsync) {
    _self.requestData('app-v3/message/updateMsgPushStatusBatch', data, callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("消息推送更新失败");
      }, "post", isAsync);
  }
  // 消防报表开关状态批量更新接口
  _self.updateFireReportStatusBatch = function (data, callback, isAsync) {
    _self.requestData('app-v3/fireReport/updateFireReportStatusBatch', data, callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("消防报表更新失败");
      }, "post", isAsync);
  }
  // 一键报警
  _self.keyAlarm_post = function (data, callback, isAsync) {
    _self.requestData('app/home/insertManualAlert', data, callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("新增一键报警失败");
      }, "post", isAsync);
  }
  // 更新消防报表开关状态
  _self.updateFireReportStatus = function (data, callback, isAsync) {
    _self.requestData('app-v3/fireReport/updateFireReportStatus', data,
      callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("更新消防报表开关状态失败");
      }, "post", isAsync);
  }
  // 获取版本更新
  _self.checkVersion = function (data, callback, isAsync) {
    _self.requestData('app/ver/update', data, callback, function (e) {

    }, "get", isAsync);
  }


  // 获取报表列表
  _self.getFireReportListByAccount = function (data, callback, isAsync) {
    _self.requestData('app-v3/fireReport/getFireReportListByAccount', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取报表列表失败");
    }, "get", isAsync);
  }
  // 获取消防报表信息详情
  _self.getFireReportById = function (data, callback, isAsync) {
    _self.requestData('app-v3/fireReport/getFireReportById', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取报表信息详情失败");
    }, "get", isAsync);
  }
  // 获取消防评估分数联网单位列表
  _self.getSafetyOrgList = function (data, callback, isAsync) {
    _self.requestData('app/sysMonitor/getSafetyOrgList', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取报表信息详情失败");
    }, "get", isAsync);
  }
  // 获取巡检统计联网单位详细信息
  _self.getTodayInspectCountDetail = function (data, callback, isAsync) {
    _self.requestData('app/inspection/getTodayInspectCountDetail', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取巡检统计联网单位详细信息失败");
    }, "get", isAsync);
  }
  // 获取巡检统计联网单位详细信息
  _self.getNewTodayInspectCountDetail = function (data, callback, isAsync) {
    _self.requestData('app/inspectionNew/getRealInspectOrgList', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取巡检统计联网单位详细信息失败");
    }, "get", isAsync);
  }
  // 根据联网单位id获取安全评估信息（单联网实时安全指数、详情）
  _self.getSafeEvaluateListByOrgId = function (data, callback, isAsync) {
    _self.requestData('app/safeEvaluate/getSafeEvaluateListByOrgId', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("单联网实时安全指数失败");
    }, "get", isAsync);
  }
  // 根据联网单位id获取安全评估信息（扣分详情）
  _self.getSafeEvaluateDeductionDetails = function (data, callback, isAsync) {
    _self.requestData('app/safeEvaluate/getSafeEvaluateDeductionDetails', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("单联网实时安全指数详情失败");
    }, "get", isAsync);
  }
  // 获取火灾高危信号数量统计
  _self.getHighRiskCount = function (data, callback, isAsync) {
    _self.requestData('app/home/getHighRiskCount', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取火灾高危信号数量统计失败");
    }, "get", isAsync);
  }
  // 获取首个火灾高危信号
  _self.getFirstHighRisk = function (data, callback, isAsync) {
    _self.requestData('app/home/getFirstHighRisk', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取首个火灾高危信号失败");
    }, "get", isAsync);
  }
  // 获取重大问题数量统计
  _self.getImportantQuestionCount = function (data, callback, isAsync) {
    _self.requestData('app/home/getImportantQuestionCount', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取重大问题数量统计失败");
    }, "get", isAsync);
  }
  // 获取首个重大问题
  _self.getFirstImportantQuestion = function (data, callback, isAsync) {
    _self.requestData('app/home/getFirstImportantQuestion', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取首个重大问题失败");
    }, "get", isAsync);
  }

  // 获取火灾高危信号列表
  _self.getHighRiskList = function (data, callback, isAsync) {
    _self.requestData('app/home/getHighRiskList', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取火灾高危信号列表失败");
    }, "get", isAsync);
  }

  // 获取重大问题列表
  _self.getImportantQuestionList = function (data, callback, isAsync) {
    _self.requestData('app/home/getImportantQuestionList', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取重大问题列表失败");
    }, "get", isAsync);
  }

  // 获取消防设施关联视频
  _self.getFcfRelateVideos = function (data, callback, isAsync) {
    _self.requestData('app/video/getFcfRelateVideos', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取关联视频信息失败");
    }, "get", isAsync);
  }

  // 获取消控室视频信息
  _self.getControlRoomInfo = function (data, callback, isAsync) {
    _self.requestData('app/home/getControlRoomInfo', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取消控室视频信息失败");
    }, "get", isAsync);
  }

  // 获取隐患平均处理时间
  _self.getHiddenAvgDoTimeStatistics = function (data, callback, isAsync) {
    _self.requestData('app/hidDanger/getHiddenAvgDoTimeStatistics', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取隐患平均处理时间失败");
    }, "get", isAsync);
  }

  // 高危信号处理
  _self.updateHandleResult = function (data, callback, isAsync) {
    _self.requestData('app/highRisk/updateHandleResult', data, callback,
      function (e) {
        common.loading(0);
        app.methods.showToastCenter("高危信号处理失败");
      }, "post", isAsync);
  }

  // 重大问题处理
  _self.importantQuestionUpdateHandleResult = function (data, callback, isAsync) {
    _self.requestData('app/importantQuestion/updateHandleResult', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("重大问题处理失败");
    }, "post", isAsync);
  }

  // 今日巡检统计-支队
  _self.getTodayInspectCount = function (data, callback, isAsync) {
    _self.requestData('app/inspection/getTodayInspectCount', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取今日巡检统计失败");
    }, "get", isAsync);
  }

  // 新今日巡检统计-支队
  _self.getNewTodayInspectCount = function (data, callback, isAsync) {
    _self.requestData('app/examine/getRealExamineOrgsCount', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取今日巡检统计失败");
    }, "get", isAsync);
  }

  // 获取模拟量数据
  _self.getAnalogObjectDtos = function (data, callback, isAsync) {
    _self.requestData('app/fcf/getFacsAnalogData', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取模拟量数据失败");
    }, "get", isAsync);
  }

  // 获取消防设施24小时状态
  _self.getFacsHisStatus = function (data, callback, isAsync) {
    _self.requestData('app/fcf/getFacsHisStatus', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取消防设施24小时状态失败");
    }, "get", isAsync);
  }
  // 获取IOS二维码失败
  _self.getNewAppV = function (data, callback, isAsync) {
    _self.requestData('app/ver/getNewAppV', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取IOS二维码失败");
    }, "get", isAsync);
  }
  // 获取重大问题故障明细
  _self.getHistoryRecordsByTimeSlot = function (data, callback, isAsync) {
    _self.requestData('app/importantQuestion/getHistoryRecordsByTimeSlot', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取重大问题故障明细失败");
    }, "get", isAsync);
  }
  // 获取消防设施室内位置
  _self.getDecterFacsLocation = function (data, callback, isAsync) {
    _self.requestData('app/fcf/getFacsLocation', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取消防设施室内位置失败");
    }, "get", isAsync);
  }
  // 获取消防设施某个时间点的模拟量
  _self.getFacsAnalogDataByTimeAjax = function (data, callback, isAsync) {
    _self.requestData('app/fcf/getFacsAnalogDataByTime', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取消防设施某个时间点的模拟量失败");
    }, "get", isAsync);
  }

  // 获分平台标识
  _self.findOrgByOrgCode = function (data, callback, isAsync, errorBack) {
    _self.requestData('app/org/findOrgByOrgCode', data, callback, function (e) {
      common.loading(0);
      if (!errorBack) {
        app.methods.showToastCenter("获取平台标识失败");
      } else {
        errorBack();
      }
    }, "get", isAsync);
  }

  // 获取二维码信息
  _self.getVisualCode = function (data, callback, isAsync) {
    _self.requestData('app/assets/getVisualCode', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取二维码信息失败");
    }, "get", isAsync);
  }

  // 获取消防资源卡片信息
  _self.getFireResMonitorInfo = function (data, callback, isAsync) {
    _self.requestData('app/fcf/getFireResMonitorInfo', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取消防资源卡片信息失败");
    }, "get", isAsync);
  }
  // 获取多联网单位探测器信息总览
  _self.getFcfRealTimeStatusMultiCount = function (data, callback, isAsync) {
    _self.requestData('app/fcf/getFcfRealTimeStatusMultiCount', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取多联网单位探测器信息总览失败");
    }, "get", isAsync);
  }
  // 获取电气火灾信息
  _self.getElectricalFire_org = function (data, callback, isAsync) {
    _self.requestData('app/fcf/getFireResMonitorInfo', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取数据失败");
    }, "get", isAsync);
  }
  // 提报隐患 -- 责任人 -- 更多
  _self.getHaveOrgUserList = function (data, callback, isAsync) {
    _self.requestData('app/user/getHaveOrgUserList', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取数据失败");
    }, "get", isAsync);
  }
  // 根据推送消息获取消息id
  _self.getPushMessageId = function (data, callback, isAsync) {
    _self.requestData('app-v3/message/getPushMessageId', data, callback, function (e) {
      common.loading(0);
    }, "get", isAsync);
  }
  // 多联网警情统计
  _self.getAlarmTotalCount = function (data, callback, isAsync) {
    _self.requestData('app/home/getAlarmTotalCount', data, callback, function (e) {
      common.loading(0);
    }, "get", isAsync);
  }

  // 获取九小场所公告
  _self.getNineNotice = function (data, callback, isAsync) {
    _self.requestData('app/notice/getNoticeList', data, callback, function (e) {
      common.loading(0);
    }, "get", isAsync);
  }
  // 获取九小场所公告详情
  _self.getNineNoticeDetail = function (data, callback, isAsync) {
    _self.requestData('app/notice/getNoticeInfo', data, callback, function (e) {
      common.loading(0);
    }, "get", isAsync);
  }
  // 获取九小场所公告信息
  _self.getInspectNotice = function (data, callback, isAsync) {
    _self.requestData('app/venues/selectVenuesRelateInspectInfo', data, callback, function (e) {
      common.loading(0);
    }, "get", isAsync);
  }

  // 获取联网单位某九小场所编码
  _self.selectVenuesIdByAccount_ajax = function (data, callback, isAsync) {
    _self.requestData('app/venues/selectVenuesIdByAccount', data, callback, function (e) {
      common.loading(0);
    }, "get", isAsync);
  }

  // 获取联网单位某九小场所的探测器信息总览
  _self.getFcfRealTimeStatusCountByVenues_ajax = function (data, callback, isAsync) {
    _self.requestData('app/fcf/getFcfRealTimeStatusCountByVenues', data, callback, function (e) {
      common.loading(0);
    }, "get", isAsync);
  }

  // 九小场所室内地图标注点
  _self.getFacsMarkByNineSmall_ajax = function (data, callback, isAsync) {
    _self.requestData('app/indoorMap/getFacsMarkByNineSmall', data, callback, function (e) {
      common.loading(0);
    }, "get", isAsync);
  }

  // 九小场所关联用户接口（隐患九小场所用户列表）
  _self.selectVenuesUserList = function (data, callback, isAsync) {
    _self.requestData('app/venues/selectVenuesUserList', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取数据失败");
    }, "get", isAsync);
  }

  // 获取九小场所标的所有消防设施
  _self.selectVenuesRelateInfo_ajax = function (data, callback, isAsync) {
    _self.requestData('app/venues/selectVenuesRelateInfo', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取数据失败");
    }, "get", isAsync);
  }

  // 获取资产信息
  _self.getAInfo = function (data, callback, isAsync) {
    _self.requestData('app/assets/getAInfo', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取资产信息失败");
    }, "get", isAsync);
  }

  // 获取维护记录明细列表
  _self.getAMInfoDetails = function (data, callback, isAsync) {
    _self.requestData('app/assets/getAMInfoDetails', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取维护记录明细列表信息失败");
    }, "get", isAsync);
  }


  // 获取查岗结果
  _self.getRecordsByInspectId_ajax = function (data, callback, isAsync) {
    _self.requestData('app/inspect/getRecordsByInspectId', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取查岗结果信息失败");
    }, "get", isAsync);
  }

  // 获取维护记录明细列表
  _self.assetsLocationInfo = function (data, callback, isAsync) {
    _self.requestData('app/assets/getAssetsLocationInfo', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取资产室内位置信息失败");
    }, "get", isAsync);
  }

  // 获取维护记录明细列表
  _self.getInspectData = function (data, callback, isAsync) {
    _self.requestData('app/inspect/getRecordsByInspectId', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取资产室内位置信息失败");
    }, "get", isAsync);
  }

  // 工作台统计 app/home/getWorkPlatCalc
  _self.getWorkPlatCalc_ajax = function (data, callback, isAsync) {
    _self.requestData('app/home/getWorkPlatCalc', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取统计信息失败");
    }, "get", isAsync);
  }

  // 我的关注统计
  _self.statisticsUserConcem_ajax = function (data, callback, isAsync) {
    _self.requestData('app/user/statisticsUserConcem', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取关注统计失败");
    }, "get", isAsync);
  }

  // 签到
  _self.onSign = function (data, callback, isAsync) {
    _self.requestData('app/signIn/onSign', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("签到失败");
    }, "post", isAsync);
  }

  // 签到列表(含签到、签退数据)
  _self.getSignRecordGroupList = function (data, callback, isAsync) {
    _self.requestData('app/signIn/getSignRecordGroupList', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取签到列表数据失败");
    }, "get", isAsync);
  }

  // 获取签到统计
  _self.getSignStatistics = function (data, callback, isAsync) {
    _self.requestData('app/signIn/getSignStatistics', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取签到统计数据失败");
    }, "get", isAsync);
  }

  // 签到、签退列表
  _self.getSignRecordList = function (data, callback, isAsync) {
    _self.requestData('app/signIn/getSignRecordList', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取签到统计数据失败");
    }, "get", isAsync);
  }

  // 人员分布
  _self.getSignLastPoint = function (data, callback, isAsync) {
    _self.requestData('app/signIn/getSignLastPoint', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取人员分布失败");
    }, "get", isAsync);
  }

  // 获取某天的签到明细
  _self.getSignDetail = function (data, callback, isAsync) {
    _self.requestData('app/signIn/getSignDetail', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取签到明细失败");
    }, "get", isAsync);
  }

  // 获取用户当前打卡信息
  _self.getUserCurrentWatchDetail = function (data, callback, isAsync) {
    _self.requestData('app/inspect/getUserCurrentWatchDetail', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取用户当前打卡信息失败");
    }, "get", isAsync);
  }

  // 根据坐标获取最近联网单位信息
  _self.getNearestOrgByLocation = function (data, callback, isAsync) {
    _self.requestData('app/signIn/getNearestOrgByLocation', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取联网单位信息失败");
    }, "get", isAsync);
  }

  // 获取当月的签到概览，每天是否有签到记录
  _self.getMonthSignDetail = function (data, callback, isAsync) {
    _self.requestData('app/signIn/getMonthSignDetail', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取联网单位信息失败");
    }, "get", isAsync);
  }

  // 上下班打卡
  _self.clockInAndOut = function (data, callback, isAsync) {
    _self.requestData('app/inspect/clockInAndOut', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("上下班打卡失败");
    }, "post", isAsync);
  }

  // 获取当前用户月打卡记录
  _self.getUserClockRecords = function (data, callback, isAsync) {
    _self.requestData('app/inspect/getUserClockRecords', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取当前用户月打卡记录失败");
    }, "get", isAsync);
  }

  // 新增资产图片
  _self.updateAInfo = function (data, callback, isAsync) {
    _self.requestData('app/assets/updateAInfo', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("上传资产图片失败");
    }, "post", isAsync);
  }

  // 获取维保任务数据列表
  _self.getMainTainTaskList = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/selectMainTainTaskList', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("查询任务数据列表失败");
    }, "get", isAsync);
  }

  // 获取建筑物维保任务完成度
  _self.getFbsMaintainTaskFinishResult = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/getFbsMaintainTaskFinishResult', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取建筑物任务完成度失败");
    }, "get", isAsync);
  }

  // 资产详情-维保计划
  _self.getTaskPlanInfo = function (data, callback, isAsync) {
    _self.requestData('app/assets/getMaintainPlanByAssetsId', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取当前计划失败");
    }, "get", isAsync);
  }
  // 资产详情-当前维保任务
  _self.getTaskNowInfo = function (data, callback, isAsync) {
    _self.requestData('app/assets/getMaintainInfoByAssetsId', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取当前任务失败");
    }, "get", isAsync);
  }
  // 保养任务作业详情
  _self.getTaskWorkInfo = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/getMaintainTaskDetailInfoDto', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取作业信息失败");
    }, "get", isAsync);
  }

  // 新增保养作业
  _self.postTaskWorkInfo = function (data, callback, isAsync) {
    let IS_OFFLINE_MODULE = native.getDataByKey("IS_OFFLINE_MODULE");
    if (IS_OFFLINE_MODULE == "1") {
      native.postTaskWorkInfo(data);
      callback({
        info: "提交作业成功!"
      });
    } else {
      _self.requestData('app/maintenance/addTaskDetailOfTask', data, callback, function (e) {
        common.loading(0);
        app.methods.showToastCenter("提交作业信息失败");
      }, "post", isAsync, true);
    }
  }


  // 建筑物维保任务完成度
  _self.getFbsMaintainTaskFinishResult = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/getFbsMaintainTaskFinishResult', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取建筑物信息失败");
    }, "get", isAsync);
  }

  // 根据楼层获取维保任务详情
  _self.getAssetsMaintainTaskDetail = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/getAssetsMaintainTaskDetail', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取建筑物信息失败");
    }, "get", isAsync);
  }

  // 更新/添加责任人
  _self.updateMaitainAccount = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/updateMaitainAccount', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("添加责任人失败");
    }, "post", isAsync);
  }

  // 获取任务详情(清单视图)
  _self.getMaintainTaskInfoDto = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/getMaintainTaskInfoDto', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取任务详情失败");
    }, "get", isAsync);
  }

  // 获取维保时间树
  _self.getTaskDetailDoTimeTree = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/getTaskDetailDoTimeTree', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取时间树失败");
    }, "get", isAsync);
  }

  // 获取扫描的二维码信息
  _self.scanVCodeResult = function (data, callback, isAsync) {
    _self.requestPollingData('app/maintenance/scanVCodeResult', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取二维码信息失败");
    }, "get", isAsync);
  }
  // 获取任务详情(资产保养情况)列表
  _self.getMaintainAssetsListOfTask = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/getMaintainAssetsListOfTask', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取资产失败");
    }, "get", isAsync);
  }

  // 测试-获取当前用户的所有参与的测试任务
  _self.getTestTasksByAccount = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/getTestTasksByAccount', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取当前用户的所有参与的测试任务失败");
    }, "get", isAsync);
  }

  // 测试-结束测试
  _self.endTestTask = function (data, callback, isAsync) {
    let IS_OFFLINE_MODULE = native.getDataByKey("IS_OFFLINE_MODULE");
    if (IS_OFFLINE_MODULE == "1") {
      native.endTestTask(data);
      callback(null);
    } else {
      _self.requestData('app/maintenance/endTestTask', data, callback, function (e) {
        common.loading(0);
        app.methods.showToastCenter("结束测试失败");
      }, "post", isAsync);
    }
  }

  // 测试-延时测试时间
  _self.delayTestTime = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/delayTestTime', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("延时测试时间失败");
    }, "post", isAsync);
  }

  // 测试-开始测试
  _self.startTestTask = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/startTestTask', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("加入测试失败");
    }, "post", isAsync);
  }

  // 测试-加入测试
  _self.joinTestTask = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/joinTestTask', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("加入测试失败");
    }, "post", isAsync);
  }

  // 测试-第一次进入填写页面的默认关联警情
  _self.getAlarmForTest = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/getAlarmForTest', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取警情失败");
    }, "get", isAsync);
  }

  // 测试-获取测试关联警情信息
  _self.getRelateAlarmInfo = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/getRelateAlarmInfo', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取警情失败");
    }, "get", isAsync);
  }

  // 测试-获取更多可能关联的警情
  _self.getMoreAlarmForTest = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/getMoreAlarmForTest', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取警情失败");
    }, "get", isAsync);
  }

  // 测试完成-获取关联的警情列表
  _self.getRelateAlarmListInfo = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/getRelateAlarmListInfo', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取警情失败");
    }, "get", isAsync);
  }

  // 测试-获取当前用户任务状态
  _self.getTestTaskStatus = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/getTestTaskStatus', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取当前用户任务状态失败");
    }, "get", isAsync);
  }

  // 测试-通过任务id获取关联的警情统计
  _self.getRelateAlarmCountByTaskId = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/getRelateAlarmCountByTaskId', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取警情失败");
    }, "get", isAsync);
  }

  // 测试-通过任务id获取关联警情列表
  _self.getRelateAlarmListByTaskId = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/getRelateAlarmListByTaskId', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取警情失败");
    }, "get", isAsync);
  }

  // 测试-通过任务id获取关联的作业申请
  _self.getRelateWorkApplyList = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/getRelateWorkApplyList', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取申请失败");
    }, "get", isAsync);
  }

  // 联动任务作业详情
  _self.getMaintainTaskDetailInfoDtoForLD = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/getMaintainTaskDetailInfoDtoForLD', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取联动测试作业详情失败");
    }, "get", isAsync);
  }

  // 测试-保存相关警情到测试任务
  _self.saveRelateAlarmInfo = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/saveRelateAlarmInfo', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("保存相关警情到测试任务失败");
    }, "post", isAsync);
  }

  // 12获取联网单位详细信息
  _self.unitInfo = function (data, callback, errorcb, isAsync) {
    _self.requestData('app/org/getFullInfo', data, callback, errorcb,
      "get", isAsync);
  }

  // 获取联网单位详情信息
  _self.getFullInfoExt = function (data, callback, isAsync) {
    _self.requestData('app/org/getFullInfoExt', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取联网单位详情信息失败");
    }, "get", isAsync);
  }

  // 作业申请-列表
  _self.getWorkApplyRecords = function (data, callback, isAsync) {
    _self.requestData('app/workApply/getWorkApplyRecords', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取作业申请列表失败");
    }, "get", isAsync);
  }
  // 获取临时任务明细信息
  _self.getTempTaskDetailList = function (data, callback, isAsync) {
    _self.requestData('app/tempTask/getTempTaskDetailList', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取临时任务明细失败");
    }, "get", isAsync);
  }
  // 获取临时任务列表
  _self.getTempTaskList = function (data, callback, isAsync) {
    _self.requestData('app/tempTask/getTempTaskList', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取临时任务列表失败");
    }, "get", isAsync);
  }
  // 获取临时任务详情
  _self.getTempTask = function (data, callback, isAsync) {
    _self.requestData('app/tempTask/getTempTask', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取临时任务详情失败");
    }, "get", isAsync);
  }
  // 添加临时任务
  _self.addTempTask = function (data, callback, isAsync) {
    _self.requestData('app/tempTask/addTempTask', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("添加临时任务失败");
    }, "post", isAsync);
  }
  // 添加任务明细（反馈、审批等使用）
  _self.addTempTaskDetail = function (data, callback, isAsync) {
    _self.requestData('app/tempTask/addTempTaskDetail', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("添加临时任务明细失败");
    }, "post", isAsync);
  }

  // 获取用户信息
  _self.getUserByAccount = function (data, callback, isAsync) {
    _self.requestData('app/user/getUserByAccount', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取用户信息失败");
    }, "get", isAsync);
  }

  // 作业申请-作业详情（包含复制）
  _self.getWorkApplyDetail = function (data, callback, isAsync) {
    _self.requestData('app/workApply/getWorkApplyDetail', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取作业申请详情失败");
    }, "get", isAsync);
  }

  // 获取是否有快速处理
  _self.getMaintainTestCount = function (data, callback, isAsync) {
    _self.requestData('app/alertStat/getMaintainTestCount', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取是否有快速处理");
    }, "get", isAsync);
  }

  // 作业申请-创建作业申请
  _self.addWorkApply = function (data, callback, isAsync) {
    _self.requestData('app/workApply/addWorkApply', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("创建作业申请失败");
    }, "post", isAsync);
  }

  // 作业申请-撤回作业申请
  _self.withdrawWorkApply = function (data, callback, isAsync) {
    _self.requestData('app/workApply/withdrawWorkApply', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("撤回作业申请失败");
    }, "post", isAsync);
  }

  // 作业申请-通过作业申请
  _self.passWorkApply = function (data, callback, isAsync) {
    _self.requestData('app/workApply/passWorkApply', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("通过作业申请失败");
    }, "post", isAsync);
  }

  // 作业申请-不通过作业申请
  _self.nopassWorkApply = function (data, callback, isAsync) {
    _self.requestData('app/workApply/nopassWorkApply', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("不通过作业申请失败");
    }, "post", isAsync);
  }

  // 作业申请-相关任务列表
  _self.selectRelateMainTainTaskList = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/selectRelateMainTainTaskList', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取作业申请相关任务列表失败");
    }, "get", isAsync);
  }

  // 根据类型获取建筑物列表
  _self.getFbsListByType = function (data, callback, isAsync) {
    _self.requestData('app/buildingStructure/getFbsListByType', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取建筑物列表失败");
    }, "get", isAsync);
  }

  // 设备获取关联梯控状态
  _self.getFcfAndElecontro = function (data, callback, isAsync) {
    _self.requestData('app/fcf/getFcfAndElecontro', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取关联梯控状态失败");
    }, "get", isAsync);
  }

  // 获取单位列表 包含logo address name
  _self.getUcttuInfoForLogo = function (data, callback, isAsync) {
    _self.requestData('app/org/getUcttuInfoForLogo', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取单位列表失败");
    }, "get", isAsync);
  }

  // 获取指定单位权限的用户列表
  _self.getHaveOrgUserListNotInRole = function (data, callback, isAsync) {
    _self.requestData('app/user/getHaveOrgUserListNotInRole', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取指定单位权限的用户列表失败");
    }, "get", isAsync);
  }

  // 获取关联故障维修单
  _self.getTaskMaintenanceList = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/getTaskMaintenanceList', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取关联故障维修单失败");
    }, "get", isAsync);
  }

  // 结束多个时间任务
  _self.endTasksByIds = function (data, callback, isAsync) {
    let IS_OFFLINE_MODULE = native.getDataByKey("IS_OFFLINE_MODULE");
    if (IS_OFFLINE_MODULE == "1") {
      native.endTasksByIds(data);
      callback(null);
    } else {
      _self.requestData('app/maintenance/endTasksByIds', data, callback, function (e) {
        common.loading(0);
        app.methods.showToastCenter("结束多个时间任务失败");
      }, "post", isAsync);
    }
  }

  // 档案-值班表
  _self.getOndutyRecordsForApp = function (data, callback, isAsync) {
    _self.requestData('app/inspect/getOndutyRecordsForApp', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取值班信息失败");
    }, "get", isAsync);
  }

  // 看板--获取安全指数得分明细
  _self.getScoreItemDetail = function (data, callback, isAsync) {
    _self.requestData('app/kanban/getScoreItemDetail', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取安全指数得分明细失败");
    }, "get", isAsync);
  }

  // 看板--获取每组得分明细
  _self.getSafetyGroup = function (data, callback, isAsync) {
    _self.requestData('app/kanban/getSafetyGroup', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取每组得分明细失败");
    }, "get", isAsync);
  }


  //看板--获取分组扣分上限
  _self.getSafetyGroupMaxScore = function (data, callback, isAsync) {
    _self.requestData('app/kanban/getSafetyGroupMaxScore', data, callback, function (e) {
      common.loading(0);
    }, "get", isAsync);
  }

  // 获取今日签到  app/signIn/getOrgTodaySignList
  _self.getOrgTodaySignList = function (data, callback, isAsync) {
    _self.requestData('app/signIn/getOrgTodaySignList', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取今日签到失败");
    }, "get", isAsync);
  }

  // 获取单位设备物联数目统计  app/fcf/getFcfRealTimeStatusCountOverview
  _self.getFcfRealTimeStatusCountOverview = function (data, callback, isAsync) {
    _self.requestData('app/fcf/getFcfRealTimeStatusCountOverview', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取单位设备物联数目统计失败");
    }, "get", isAsync);
  }

  // 维保统计app看板用
  _self.getMaintainListForApp = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/getMaintainListForApp', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取维保统计信息失败");
    }, "get", isAsync);
  }

  // 资产详情-维保记录
  _self.getMaintainRecordsByAssetsId = function (data, callback, isAsync) {
    _self.requestData('app/assets/getMaintainRecordsByAssetsId', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取维保记录失败");
    }, "get", isAsync);
  }

  //获取周报数据
  _self.getWeekly = function (data, callback, isAsync) {
    _self.requestData('../../json/weekly.json', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取周报数据失败");
    }, "get", isAsync, true);
  }

  // 获取子平台id
  _self.getSubplatform = function (data, callback, isAsync) {
    _self.requestData('app/maintainReport/getSubplatform', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取子平台id失败");
    }, "get", isAsync);
  }

  // 获取单单位和平台报表数据统计
  _self.getClassifiedStatistics = function (data, callback, isAsync) {
    _self.requestData('app/maintainReport/getClassifiedStatistics', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取单单位和平台报表数据统计");
    }, "get", isAsync);
  }

  // 获取维保报告数据/报表数据
  _self.getMaintenanceReportData = function (data, callback, isAsync) {
    _self.requestData('app/maintainReport/getMaintenanceReportData', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取数据失败");
    }, "get", isAsync);
  }

  //获取维保报告列表
  _self.getReportList = function (data, callback, isAsync) {
    _self.requestData('app/maintainReport/getReportList', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取维保报告列表失败");
    }, "get", isAsync);
  }

  //获取高危信号记录详情数据   app/highRisk/getHighRiskFireSignalById
  _self.getHighRiskFireSignalById = function (data, callback, isAsync) {
    _self.requestData('app/highRisk/getHighRiskFireSignalById', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取高危信号记录详情数据失败");
    }, "get", isAsync);
  }

  //获取重大问题记录详情数据   app/importantQuestion/getImportantQuestionAlertById
  _self.getImportantQuestionAlertById = function (data, callback, isAsync) {
    _self.requestData('app/importantQuestion/getImportantQuestionAlertById', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取重大问题记录详情数据失败");
    }, "get", isAsync);
  }

  // 获取月度查岗统计
  _self.getInspectRecords = function (data, callback, isAsync) {
    _self.requestData('app/workApply/getInspectRecords', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取月度查岗统计失败");
    }, "get", isAsync);
  }

  // 获取用户阿里云RTCtoken
  _self.getAliRTCToken = function (data, callback, isAsync) {
    _self.requestData('app/user/getAliRTCToken', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取阿里云RTCtoken失败");
    }, "get", isAsync);
  }

  // 获取单位值班总体情况
  _self.getOrgWatchInfoList = function (data, callback, isAsync) {
    _self.requestData('app/inspect/getOrgWatchInfoList', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取单位值班总体情况失败");
    }, "get", isAsync);
  }
  // 获取考试列表
  _self.getExamListForApp = function (data, callback, isAsync) {
    _self.requestData('app/exam/getExamListForApp', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取考试列表失败");
    }, "get", isAsync);
  }
  // 考试详情
  _self.getExamDetailById = function (data, callback, isAsync) {
    _self.requestData('app/exam/getExamDetailById', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取考试详情失败");
    }, "get", isAsync);
  }
  // 开始考试
  _self.startExam = function (data, callback, isAsync) {
    _self.requestData('app/exam/startExam', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取考试详情失败");
    }, "post", isAsync);
  }
  // 获取所有试题
  _self.getExamQuestionByExamId = function (data, callback, isAsync) {
    _self.requestData('app/exam/getExamQuestionByExamId', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取考试详情失败");
    }, "get", isAsync);
  }
  // 更新考试结果
  _self.updateExamScoreDetail = function (data, callback, isAsync) {
    _self.requestData('app/exam/updateExamScoreDetail', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取考试详情失败");
    }, "post", isAsync);
  }
  // 考试提交
  _self.submitExam = function (data, callback, isAsync) {
    _self.requestData('app/exam/submitExam', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("考试提交失败");
    }, "post", isAsync);
  }
  // 获取考试题目题号
  _self.getExamQuestionNumberByExamId = function (data, callback, isAsync) {
    _self.requestData('app/exam/getExamQuestionNumberByExamId', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取题号失败");
    }, "get", isAsync);
  }
  // 获取考试详情信息
  _self.getExamDetailById = function (data, callback, isAsync) {
    _self.requestData('app/exam/getExamDetailById', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取考试详情失败");
    }, "get", isAsync);
  }
  // 获取考试排名信息
  _self.getExamDetailRankingByExamId = function (data, callback, isAsync) {
    _self.requestData('app/exam/getExamDetailRankingByExamId', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取考试排名失败");
    }, "get", isAsync);
  }
  // 获取考试排名信息
  _self.getExamDetailByExamAccount = function (data, callback, isAsync) {
    _self.requestData('app/exam/getExamDetailByExamAccount', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取考试失败");
    }, "get", isAsync);
  }
  // 获取学习资料列表
  _self.selectLearningMaterialsList = function (data, callback, isAsync) {
    _self.requestData('app-v3/materials/selectLearningMaterialsList', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取学习资料列表失败");
    }, "get", isAsync);
  }

  // 获取学习资料详情
  _self.getLearningMaterialsDetail = function (data, callback, isAsync) {
    _self.requestData('app-v3/materials/getLearningMaterialsDetail', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取学习资料详情失败");
    }, "get", isAsync);
  }

  // 文章学习时长数据添加
  _self.saveLearningTime = function (data, callback, isAsync) {
    let IS_OFFLINE_MODULE = native.getDataByKey("IS_OFFLINE_MODULE");
    if (IS_OFFLINE_MODULE == "1") {
      let commitData = native.getDataByKey("offlineData-work-commit-data");
      if (!commitData) {
        commitData = "[]";
      }
      let commitDataJSON = JSON.parse(commitData);
      commitDataJSON.push({
        api: 'app-v3/materials/saveLearningTime',
        param: JSON.stringify(data),
        requestType: "post",
        userName: userInfor.accountName
      });
      native.saveDataByKey("offlineData-work-commit-data", JSON.stringify(commitDataJSON));
      callback(null)
    } else {
      _self.requestData('app-v3/materials/saveLearningTime', data, callback, function (e) {
        common.loading(0);
        // app.methods.showToastCenter("文章学习时长数据添加失败");
      }, "post", isAsync);
    }
  }

  // 统计文章的每个用户的学习时长
  _self.selectLearningTimeByAccount = function (data, callback, isAsync) {
    _self.requestData('app-v3/materials/selectLearningTimeByAccount', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("统计文章的每个用户的学习时长失败");
    }, "get", isAsync);
  }

  // 统计个人学习时长
  _self.selectPersonLearningTime = function (data, callback, isAsync) {
    _self.requestData('app-v3/materials/selectPersonLearningTime', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("统计个人学习时长失败");
    }, "get", isAsync);
  }
  //获取交接班列表
  _self.selectShiftsRecordList = function (data, callback, isAsync) {
    _self.requestData('app-v3/shifts/selectShiftsRecordList', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取交接班列表失败");
    }, "get", isAsync);
  }
  //获取交接班记录详情
  _self.selectShiftsRecordDetail = function (data, callback, isAsync) {
    _self.requestData('app-v3/shifts/selectShiftsRecordDetail', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取交接班详情失败");
    }, "get", isAsync);
  }
  //获取交接班记录详情
  _self.saveShiftsAlarmCount = function (data, callback, isAsync) {
    _self.requestData('app-v3/shifts/saveShiftsAlarmCount', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("添加火灾报警控制器运行情况记录失败");
    }, "post", isAsync);
  }
  // 提前结束警情关闭提醒
  _self.endPoliceClose = function (data, callback, isAsync) {
    _self.requestData('app/policeClose/endPoliceClose', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("提前关闭警情失败");
    }, "post", isAsync);
  }
  //获取相关角色
  _self.getUnitRoles = function (data, callback, isAsync) {
    _self.requestData('app/policeClose/getUnitRoles', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取相关角色失败");
    }, "get", isAsync);
  }
  //新增或编辑警情关闭记录
  _self.saveOrUpdatePoliceCloseRecord = function (data, callback, isAsync) {
    _self.requestData('app/policeClose/saveOrUpdatePoliceCloseRecord', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("新增警情关闭提醒失败");
    }, "post", isAsync);
  }
  //获取警情关闭记录
  _self.getPoliceCloseRecords = function (data, callback, isAsync) {
    _self.requestData('app/policeClose/getPoliceCloseRecords', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取警情关闭记录失败");
    }, "get", isAsync);
  }
  //添加控制室其他消防系统运行情况记录
  _self.saveShiftsSystemStatus = function (data, callback, isAsync) {
    _self.requestData('app-v3/shifts/saveShiftsSystemStatus', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("添加控制室其他消防系统运行情况记录失败");
    }, "post", isAsync);
  }
  //添加火灾报警控制器日期检查情况记录
  _self.saveShiftsControllerStatus = function (data, callback, isAsync) {
    _self.requestData('app-v3/shifts/saveShiftsControllerStatus', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("添加控制室其他消防系统运行情况记录失败");
    }, "post", isAsync);
  }
  //添加/编辑交接班记录
  _self.saveShiftsRecord = function (data, callback, isAsync) {
    _self.requestData('app-v3/shifts/saveShiftsRecord', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("添加/编辑交接班记录失败");
    }, "post", isAsync);
  }
  //删除交接班记录
  _self.deleteShiftsRecord = function (data, callback, isAsync) {
    _self.requestData('app-v3/shifts/deleteShiftsRecord', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("添加/编辑交接班记录失败");
    }, "post", isAsync);
  }
  //获取交接班记录二维码
  _self.getShiftsRecordVisualCode = function (data, callback, isAsync) {
    _self.requestData('app-v3/shifts/getShiftsRecordVisualCode', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("获取交接班记录二维码失败");
    }, "get", isAsync);
  }
  //添加/编辑交接班记录
  _self.updateShiftsStatus = function (data, callback, isAsync) {
    _self.requestData('app-v3/shifts/updateShiftsStatus', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter("交接班失败");
    }, "post", isAsync);
  }
  //创建一键报警
  _self.creatKeyAlarm = function (data, callback, isAsync) {
    _self.requestData('app/keyAlarm/creatKeyAlarm', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter('创建失败');
    }, "post", isAsync);
  }

  //资产统计-建筑物视图
  _self.getAssetsCountByFbs = function (data, callback, isAsync) {
    _self.requestData('app/assets/getAssetsCountByFbs', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter('获取失败');
    }, "get", isAsync);
  }
  //资产统计-建筑物视图
  _self.getMaintenanceReportData = function (data, callback, isAsync) {
    _self.requestData('app/maintainReport/getMaintenanceReportData', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter('获取失败');
    }, "get", isAsync);
  }

  //邮件分享
  _self.shareReportMail = function (data, callback, isAsync) {
    _self.requestData('app/maintainReport/shareReportMail', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter('邮件发送失败');
    }, "post", isAsync);
  }
  //思维-维保任务统计
  _self.getMaintainListForAppSw = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/getMaintainListForApp', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter('获取失败');
    }, "get", isAsync);
  }
  //思维-按时间类别维度统计维保任务
  _self.statisticsTaskTimeTypeSw = function (data, callback, isAsync) {
    _self.requestData('app/maintenance/statisticsTaskTimeType', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter('获取失败');
    }, "get", isAsync);
  }
  //思维-获取关注的消防设施实时状态
  _self.getAttentionFacsStatusSw = function (data, callback, isAsync) {
    _self.requestData('app/home/getAttentionFacsStatus', data, callback, function (e) {
      common.loading(0);
      app.methods.showToastCenter('获取失败');
    }, "get", isAsync);
  }
  //获取单位最新的年报id
  _self.getYearReportId = function (data, callback, isAsync) {
    _self.requestData('app/maintainReport/getYearReportId', data, callback, function (e) {
      common.loading(0);
    }, "get", isAsync);
  }
  //获取用户订阅的建筑物id
  _self.getUserBuildByAccount = function (data, callback, isAsync) {
    _self.requestData('app/user/getUserBuildByAccount', data, callback, function (e) {
      common.loading(0);
    }, "get", isAsync);
  }

  // 退出登录
  _self.userlodOut = function (data, callback, isAsync) {
    _self.requestData('app/user/loginOut', data, callback, function (e) { }, "post", isAsync);
  }

  _self.uploadBase64 = function (data, callback, isAsync) {
    _self.requestData('app/common/uploadBase64', data, callback, function (e) {
      common.loading(0);
    }, "post", isAsync);
  }
  return _self;
})(window.Dao || {});